package com.zf.yichat.model;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;

@Table(name = "wx_group_user")
public class WxGroupUser implements Serializable {
    @Id
    private Long id;

    /**
     * im_group的id
     */
    private Long groupid;

    private Integer uid;

    /**
     * 冗余头像
     */
    private String groupavator;

    /**
     * 原始昵称
     */
    private String srcnick;

    /**
     * 该用户在群内的昵称
     */
    private String groupnick;

    /**
     * 自动标识：1：是；2：否
     */
    private Short autoflag;

    /**
     * 从哪个消息开始有阅读权限-废弃
     */
    private Long startmsgid;

    /**
     * 注意：废弃字段,如果使用，请放入动态表中:该用户最后一次收到的消息id，对应im_group_msg的id
     */
    private Long lastmsgid;

    /**
     * 显示状态：1：正常；2：未消息激活；3：列表删除
     */
    private Short viewstatus;

    /**
     * 是否加入通讯录：1：是；2：否
     */
    private Short isaddress;

    /**
     * 是否免打扰：1：是；2：否
     */
    private Short msgfreeflag;

    /**
     * 禁言标识：1：时长禁言；2：否；3：长久禁用
     */
    private Short forbiddenflag;

    /**
     * 禁用时长：秒
     */
    private Integer forbiddenduration;

    /**
     * 取消禁言的时间
     */
    private Date cancelforbiddentime;

    /**
     * 是否显示昵称：1：是；2：否
     */
    private Short nickviewflag;

    /**
     * 群角色：1：群主；2：成员
     */
    private Short grouprole;

    /**
     * 角色指定时间
     */
    private Date setroletime;

    /**
     * 状态：1：正常；2：退群；3：被踢出群
     */
    private Short status;

    /**
     * 记录创建时间
     */
    private Date createtime;

    /**
     * 该记录更新时间
     */
    private Date updatetime;

    private static final long serialVersionUID = 1L;

    public WxGroupUser(Long id, Long groupid, Integer uid, String groupavator, String srcnick, String groupnick, Short autoflag, Long startmsgid, Long lastmsgid, Short viewstatus, Short isaddress, Short msgfreeflag, Short forbiddenflag, Integer forbiddenduration, Date cancelforbiddentime, Short nickviewflag, Short grouprole, Date setroletime, Short status, Date createtime, Date updatetime) {
        this.id = id;
        this.groupid = groupid;
        this.uid = uid;
        this.groupavator = groupavator;
        this.srcnick = srcnick;
        this.groupnick = groupnick;
        this.autoflag = autoflag;
        this.startmsgid = startmsgid;
        this.lastmsgid = lastmsgid;
        this.viewstatus = viewstatus;
        this.isaddress = isaddress;
        this.msgfreeflag = msgfreeflag;
        this.forbiddenflag = forbiddenflag;
        this.forbiddenduration = forbiddenduration;
        this.cancelforbiddentime = cancelforbiddentime;
        this.nickviewflag = nickviewflag;
        this.grouprole = grouprole;
        this.setroletime = setroletime;
        this.status = status;
        this.createtime = createtime;
        this.updatetime = updatetime;
    }

    public WxGroupUser() {
        super();
    }

    /**
     * @return id
     */
    public Long getId() {
        return id;
    }

    /**
     * @param id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取im_group的id
     *
     * @return groupid - im_group的id
     */
    public Long getGroupid() {
        return groupid;
    }

    /**
     * 设置im_group的id
     *
     * @param groupid im_group的id
     */
    public void setGroupid(Long groupid) {
        this.groupid = groupid;
    }

    /**
     * @return uid
     */
    public Integer getUid() {
        return uid;
    }

    /**
     * @param uid
     */
    public void setUid(Integer uid) {
        this.uid = uid;
    }

    /**
     * 获取冗余头像
     *
     * @return groupavator - 冗余头像
     */
    public String getGroupavator() {
        return groupavator;
    }

    /**
     * 设置冗余头像
     *
     * @param groupavator 冗余头像
     */
    public void setGroupavator(String groupavator) {
        this.groupavator = groupavator == null ? null : groupavator.trim();
    }

    /**
     * 获取原始昵称
     *
     * @return srcnick - 原始昵称
     */
    public String getSrcnick() {
        return srcnick;
    }

    /**
     * 设置原始昵称
     *
     * @param srcnick 原始昵称
     */
    public void setSrcnick(String srcnick) {
        this.srcnick = srcnick == null ? null : srcnick.trim();
    }

    /**
     * 获取该用户在群内的昵称
     *
     * @return groupnick - 该用户在群内的昵称
     */
    public String getGroupnick() {
        return groupnick;
    }

    /**
     * 设置该用户在群内的昵称
     *
     * @param groupnick 该用户在群内的昵称
     */
    public void setGroupnick(String groupnick) {
        this.groupnick = groupnick == null ? null : groupnick.trim();
    }

    /**
     * 获取自动标识：1：是；2：否
     *
     * @return autoflag - 自动标识：1：是；2：否
     */
    public Short getAutoflag() {
        return autoflag;
    }

    /**
     * 设置自动标识：1：是；2：否
     *
     * @param autoflag 自动标识：1：是；2：否
     */
    public void setAutoflag(Short autoflag) {
        this.autoflag = autoflag;
    }

    /**
     * 获取从哪个消息开始有阅读权限-废弃
     *
     * @return startmsgid - 从哪个消息开始有阅读权限-废弃
     */
    public Long getStartmsgid() {
        return startmsgid;
    }

    /**
     * 设置从哪个消息开始有阅读权限-废弃
     *
     * @param startmsgid 从哪个消息开始有阅读权限-废弃
     */
    public void setStartmsgid(Long startmsgid) {
        this.startmsgid = startmsgid;
    }

    /**
     * 获取注意：废弃字段,如果使用，请放入动态表中:该用户最后一次收到的消息id，对应im_group_msg的id
     *
     * @return lastmsgid - 注意：废弃字段,如果使用，请放入动态表中:该用户最后一次收到的消息id，对应im_group_msg的id
     */
    public Long getLastmsgid() {
        return lastmsgid;
    }

    /**
     * 设置注意：废弃字段,如果使用，请放入动态表中:该用户最后一次收到的消息id，对应im_group_msg的id
     *
     * @param lastmsgid 注意：废弃字段,如果使用，请放入动态表中:该用户最后一次收到的消息id，对应im_group_msg的id
     */
    public void setLastmsgid(Long lastmsgid) {
        this.lastmsgid = lastmsgid;
    }

    /**
     * 获取显示状态：1：正常；2：未消息激活；3：列表删除
     *
     * @return viewstatus - 显示状态：1：正常；2：未消息激活；3：列表删除
     */
    public Short getViewstatus() {
        return viewstatus;
    }

    /**
     * 设置显示状态：1：正常；2：未消息激活；3：列表删除
     *
     * @param viewstatus 显示状态：1：正常；2：未消息激活；3：列表删除
     */
    public void setViewstatus(Short viewstatus) {
        this.viewstatus = viewstatus;
    }

    /**
     * 获取是否加入通讯录：1：是；2：否
     *
     * @return isaddress - 是否加入通讯录：1：是；2：否
     */
    public Short getIsaddress() {
        return isaddress;
    }

    /**
     * 设置是否加入通讯录：1：是；2：否
     *
     * @param isaddress 是否加入通讯录：1：是；2：否
     */
    public void setIsaddress(Short isaddress) {
        this.isaddress = isaddress;
    }

    /**
     * 获取是否免打扰：1：是；2：否
     *
     * @return msgfreeflag - 是否免打扰：1：是；2：否
     */
    public Short getMsgfreeflag() {
        return msgfreeflag;
    }

    /**
     * 设置是否免打扰：1：是；2：否
     *
     * @param msgfreeflag 是否免打扰：1：是；2：否
     */
    public void setMsgfreeflag(Short msgfreeflag) {
        this.msgfreeflag = msgfreeflag;
    }

    /**
     * 获取禁言标识：1：时长禁言；2：否；3：长久禁用
     *
     * @return forbiddenflag - 禁言标识：1：时长禁言；2：否；3：长久禁用
     */
    public Short getForbiddenflag() {
        return forbiddenflag;
    }

    /**
     * 设置禁言标识：1：时长禁言；2：否；3：长久禁用
     *
     * @param forbiddenflag 禁言标识：1：时长禁言；2：否；3：长久禁用
     */
    public void setForbiddenflag(Short forbiddenflag) {
        this.forbiddenflag = forbiddenflag;
    }

    /**
     * 获取禁用时长：秒
     *
     * @return forbiddenduration - 禁用时长：秒
     */
    public Integer getForbiddenduration() {
        return forbiddenduration;
    }

    /**
     * 设置禁用时长：秒
     *
     * @param forbiddenduration 禁用时长：秒
     */
    public void setForbiddenduration(Integer forbiddenduration) {
        this.forbiddenduration = forbiddenduration;
    }

    /**
     * 获取取消禁言的时间
     *
     * @return cancelforbiddentime - 取消禁言的时间
     */
    public Date getCancelforbiddentime() {
        return cancelforbiddentime;
    }

    /**
     * 设置取消禁言的时间
     *
     * @param cancelforbiddentime 取消禁言的时间
     */
    public void setCancelforbiddentime(Date cancelforbiddentime) {
        this.cancelforbiddentime = cancelforbiddentime;
    }

    /**
     * 获取是否显示昵称：1：是；2：否
     *
     * @return nickviewflag - 是否显示昵称：1：是；2：否
     */
    public Short getNickviewflag() {
        return nickviewflag;
    }

    /**
     * 设置是否显示昵称：1：是；2：否
     *
     * @param nickviewflag 是否显示昵称：1：是；2：否
     */
    public void setNickviewflag(Short nickviewflag) {
        this.nickviewflag = nickviewflag;
    }

    /**
     * 获取群角色：1：群主；2：成员
     *
     * @return grouprole - 群角色：1：群主；2：成员
     */
    public Short getGrouprole() {
        return grouprole;
    }

    /**
     * 设置群角色：1：群主；2：成员
     *
     * @param grouprole 群角色：1：群主；2：成员
     */
    public void setGrouprole(Short grouprole) {
        this.grouprole = grouprole;
    }

    /**
     * 获取角色指定时间
     *
     * @return setroletime - 角色指定时间
     */
    public Date getSetroletime() {
        return setroletime;
    }

    /**
     * 设置角色指定时间
     *
     * @param setroletime 角色指定时间
     */
    public void setSetroletime(Date setroletime) {
        this.setroletime = setroletime;
    }

    /**
     * 获取状态：1：正常；2：退群；3：被踢出群
     *
     * @return status - 状态：1：正常；2：退群；3：被踢出群
     */
    public Short getStatus() {
        return status;
    }

    /**
     * 设置状态：1：正常；2：退群；3：被踢出群
     *
     * @param status 状态：1：正常；2：退群；3：被踢出群
     */
    public void setStatus(Short status) {
        this.status = status;
    }

    /**
     * 获取记录创建时间
     *
     * @return createtime - 记录创建时间
     */
    public Date getCreatetime() {
        return createtime;
    }

    /**
     * 设置记录创建时间
     *
     * @param createtime 记录创建时间
     */
    public void setCreatetime(Date createtime) {
        this.createtime = createtime;
    }

    /**
     * 获取该记录更新时间
     *
     * @return updatetime - 该记录更新时间
     */
    public Date getUpdatetime() {
        return updatetime;
    }

    /**
     * 设置该记录更新时间
     *
     * @param updatetime 该记录更新时间
     */
    public void setUpdatetime(Date updatetime) {
        this.updatetime = updatetime;
    }
}